<?php 

	/**
	 * 声明鼠标接口
	 */
	interface USB {
		const WIDTH = 12;
		const HEIGHT = 3;

		function load();
		function run();
		function stop();
	}



	/**
	 * 声明一个电脑类
	 * 并使用接口 USB
	 */
	class Cumputer {

		/**
		 * [userUSB 定义USB接口使用的动作]
		 * @param  USB    $usb [传递USB参数]
		 * @return [type]      [description]
		 */
		public function userUSB(USB $usb){
			$usb -> load();
			$usb -> run();
			$usb -> stop();
		}
	}

	/**
	 * 定义鼠标类  进行动作方法描述
	 *
	 * 并实现接口类型
	 */
	class Mouse implements USB{

		/**
		 * [load 读入USB操作]
		 * @return [type] [description]
		 */
		public function load(){
			echo "加载鼠标成功！<br>";
		}

		/**
		 * [run 运行USB操作]
		 * @return [type] [description]
		 */
		public function run(){
			echo "运行鼠标成功! <br>";
		}

		/**
		 * [stop 停止USB操作]
		 * @return [type] [description]
		 */
		public function stop(){
			echo "停止鼠标成功！<br>";
		}
	}

	class keyPress implements USB{
		/**
		 * [load 读入USB操作]
		 * @return [type] [description]
		 */
		public function load(){
			echo "加载键盘成功！<br>";
		}

		/**
		 * [run 运行USB操作]
		 * @return [type] [description]
		 */
		public function run(){
			echo "运行键盘成功! <br>";
		}

		/**
		 * [stop 停止USB操作]
		 * @return [type] [description]
		 */
		public function stop(){
			echo "停止键盘成功！<br>";
		}
	}

	/**
	 * 定义一个工作者，进行USB操作
	 */
	class Worker {
		function work() {
			$c = new Cumputer();

			$m = new Mouse();

			$k = new keyPress();

			$c->userUSB($m);
			$c->userUSB($k);

		}
	}

	/**
	 * 创建一个工作者的类
	 * @var Worker
	 */
	$w = new Worker();

	/**
	 * 开始工作
	 */
	echo $w->work();











 ?>